#include <iostream>

using namespace std;

enum AInt
{
	AInt_1,
};

enum AStr
{
	AStr_1,
};

struct A
{
	auto operator[] (AInt i)->int { return 123; }
	auto operator[] (AStr s)->const char* { return "abc"; }
};

int main()
{
	A a;
	cout << a[AInt_1] << endl;
	cout << a[AStr_1] << endl;
	//cout << a[0] << endl;

	return 0;
}